package src.com.bjsxt.memento;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 源发器类
 *
 * @author lrf
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Emp {

    private String ename;
    private int age;
    private double salary;

    /**
     * 进行备忘操作，并返回备忘录对象
     * @return EmpMemento
     */
    public EmpMemento memento() {
        return new EmpMemento(this);
    }


    /**
     * 进行数据恢复，恢复成制定备忘录对象的值
     * @param mmt EmpMemento
     */
    public void recovery(EmpMemento mmt) {
        this.ename = mmt.getEname();
        this.age = mmt.getAge();
        this.salary = mmt.getSalary();
    }

}
